package com.javafactroy.kunlong.data.entity;

import lombok.Data;
import com.javafactroy.kunlong.base.dto.TQueryParam;
import com.javafactroy.kunlong.client.feign.dto.PageInfoDto;
import javax.persistence.Column;
import javax.persistence.*;
//import javax.persistence.Id;
import lombok.experimental.Accessors;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import com.alibaba.excel.annotation.write.style.ColumnWidth;

import io.swagger.annotations.ApiModelProperty;
/**
*  @author raymond.lei@163.com
*  @date   2023-12-01 11:57:17
*  @file   QueryMasterApiEntity.java
*  @company com.javafactroy.kunlong
*
*/
@Data
@Table(name="query_master")
@ApiModel("")
@Accessors(chain = true)
@ExcelIgnoreUnannotated
@ColumnWidth(18)
public class QueryMasterApiEntity   extends PageInfoDto {
    private static final long serialVersionUID = 1L; //一会就说这个是做什么的

    public final static String pkeyField = "master_id";
    public final static String pkeyProp  = "masterId";
    @Data
    public static class QueryMasterQueryParam extends TQueryParam<QueryMasterApiEntity> {
        public QueryMasterQueryParam() {
            param = new QueryMasterApiEntity();
        }
    }

    		// master_id dataType:bigint
		@ApiModelProperty(name="")
		@ExcelProperty("master_id")
		@Column(name="master_id")
		@Id
		@GeneratedValue(strategy = GenerationType.IDENTITY,generator = "Mysql")
		protected Long  masterId;

		// user_id dataType:bigint
		@ApiModelProperty(name="")
		@ExcelProperty("user_id")
		@Column(name="user_id")
		protected Long  userId;

		// 查询名称 dataType:varchar
		@ApiModelProperty(name="查询名称")
		@ExcelProperty("查询名称")
		@Column(name="query_name")
		protected String  queryName;

		// table_name dataType:varchar
		@ApiModelProperty(name="")
		@ExcelProperty("table_name")
		@Column(name="table_name")
		protected String  tableName;

		// 字段列表 dataType:tinytext
		@ApiModelProperty(name="字段列表")
		@ExcelProperty("字段列表")
		@Column(name="field_list")
		protected String  fieldList;

		// db_name dataType:varchar
		@ApiModelProperty(name="")
		@ExcelProperty("db_name")
		@Column(name="db_name")
		protected String  dbName;

		// ds_name dataType:varchar
		@ApiModelProperty(name="")
		@ExcelProperty("ds_name")
		@Column(name="ds_name")
		protected String  dsName;

		// 应用子系统 dataType:bigint
		@ApiModelProperty(name="应用子系统")
		@ExcelProperty("应用子系统")
		@Column(name="app_id")
		protected Long  appId;

		// 分类1 query 2 report dataType:varchar
		@ApiModelProperty(name="分类1 query 2 report")
		@ExcelProperty("分类1 query 2 report")
		@Column(name="type")
		protected String  type;

		// 单表查询或者多表查询 dataType:bit
		@ApiModelProperty(name="单表查询或者多表查询")
		@ExcelProperty("单表查询或者多表查询")
		@Column(name="single")
		protected Boolean  single;

		// sql_text dataType:tinytext
		@ApiModelProperty(name="")
		@ExcelProperty("sql_text")
		@Column(name="sql_text")
		protected String  sqlText;

		// sql_text_china dataType:tinytext
		@ApiModelProperty(name="")
		@ExcelProperty("sql_text_china")
		@Column(name="sql_text_china")
		protected String  sqlTextChina;

		// pageNum dataType:int
		@ApiModelProperty(name="")
		@ExcelProperty("pageNum")
		@Column(name="pageNum")
		protected Integer  pageNum;

		// pageSize dataType:int
		@ApiModelProperty(name="")
		@ExcelProperty("pageSize")
		@Column(name="pageSize")
		protected Integer  pageSize;

		// json dataType:tinytext
		@ApiModelProperty(name="json")
		@ExcelProperty("json")
		@Column(name="order_by")
		protected String  orderBy;



}